home *** CD-ROM | disk | FTP | other *** search
/ Xenosoft 2 / Xenosoft 2 (Game collection)(1994).iso / bioforge / script / shutdown.scp < prev    next >
Text File  |  1994-12-08  |  11KB  |  463 lines

  1. { RTR_MON_USE
  2.     ^Ç┤              ++
  3.     I  ( @Çä      IN (-60,60) ) THEN
  4.         {
  5.         £    RTRMNLOC GRADUAL
  6.         M      LOOK_CONSOLE
  7.         @Ç¥   RR_CENTRALCONTROLPANEL
  8.         â      
  9.         M      STAND CONTINUE
  10.         }
  11.     ^Ç┤              --
  12. }
  13.  
  14. // 7.31 REACTOR ROOM/CENTRAL CONTROL PANEL
  15. { RR_CENTRALCONTROLPANEL
  16.     P        ~ÇÇ       
  17.     ~ÇÇ        = 0
  18.  
  19.     ^ç«         = 0
  20.  
  21.     // START REACTOR MONITOR
  22.              RTRM
  23.  
  24.     
  25.     m          
  26.  
  27.     // IF REACTOR IS SHUTDOWN THEN SHOW LAST KNOWN POSITIONS
  28.     I  ^磠          = 1 THEN
  29.     {
  30.                     "1psa" ^窠      
  31.                     "2psa" ^纠      
  32.                     "3Psa" ^ç¿       
  33.                     "4psa" ^ç⌐       
  34.     }
  35.  
  36.     // IF LEFT PYLON IF STILL DOWN THEN STROBE ART, ELSE DON'T
  37.     I  ^ଠ    = 0 THEN
  38.     {
  39.         ^çú         = 1
  40.     }
  41.     E   
  42.     {
  43.         ^çú         = 0
  44.                     LPEA 1
  45.                       LPEL "DISENGAGED/GDISENGAGED/FDISENGAGED"  // @@@ PLEASE TRANSLARE
  46.     }
  47.  
  48.     // IF RIGHT PYLON IS STILL DOWN THEN STROBE ART, ELSE DON'T
  49.     I  ^འ    = 0 THEN
  50.     {
  51.         ^çñ          = 1
  52.     }
  53.     E   
  54.     {
  55.         ^çñ          = 0
  56.                     RPEA 1
  57.                       RPEL "DISENGAGED/GDISENGAGED/FDISENGAGED"  // @@@ PLEASE TRANSLATE
  58.     }
  59.  
  60.     I  ^çú         = 1 OR ^çñ          = 1 THEN
  61.     {
  62.         I  ^çÑ             = 0 THEN
  63.             ^ç«         = @Çì      PYLON_STROBE
  64.     }
  65.  
  66.                     "CD1B" $Ǽ         "1" $Ç▒               
  67.                     "CD2B" $Ǽ         "2" $Ç▒               
  68.                     "CD3B" $Ǽ         "3" $Ç▒               
  69.                     "CD4B" $Ǽ         "4" $Ç▒               
  70.                     "CD5B" $Ǽ         "5" $Ç▒               
  71.  
  72.  
  73.                   LPTL "LEFT POWER TRANSFER PYLON/GLEFT POWER TRANSFER PYLON/FLEFT POWER TRANSFER PYLON"  // @@@ PLEASE TRANSLATE
  74.                   RPTL "RIGHT POWER TRANSFER PYLON/GRIGHT POWER TRANSFER PYLON/FRIGHT POWER TRANSFER PYLON" // @@@ PLEASE TRANSLATE
  75.  
  76.     :SHOW_PDB
  77.     I  (^ïÄ             = 1) THEN
  78.     {
  79.                         PRDB $Ç▓               
  80.                       PRCL $Ç▓                "POWER/GPOWER/FPOWER" // @@@ PLEASE TRANSLATE
  81.                       PDNL $Ç▓                "DOWN/GDOWN/FDOWN" // @@@ PLEASE TRANSLATE
  82.     }
  83.     E   
  84.     {
  85.                         PRDB $Ç░                
  86.                       PRCL $Ç░                 "POWER/GPOWER/FPOWER" // @@@ PLEASE TRANSLATE
  87.                       PDNL $Ç░                 "DOWN/GDOWN/FDOWN" // @@@ PLEASE TRANSLATE
  88.     }
  89.  
  90.     :MAIN
  91.     â      
  92.            
  93.  
  94.     J    #Çâ 
  95.  
  96.  
  97.     :PRDB_BUTTON
  98.     @Çå   (`ä¼         )
  99.     
  100.     I  ^磠          = 1 THEN
  101.         {
  102.         @Ç║      (`âÆ                     "Immediate critical situation nullified.")
  103.         J    #Çì          
  104.         }
  105.  
  106.     // IF BOTH LEVERS DOWN
  107.     I  ^འ    = 1 AND ^ଠ    = 1 THEN
  108.     {
  109.         // KILL THE DIGIT UPDATE PROPCESSES
  110.                    ^ç½               
  111.                    ^ç¼             
  112.                    ^ç¡             
  113.         ^磠          = 1
  114.  
  115.         I  ^ç«         != 0 THEN
  116.                        ^ç«        
  117.                
  118.  
  119.         ^çÑ             = 0
  120.  
  121.         C      RTR6
  122.         â      
  123.  
  124.         @Çì     (SHUT_DOWN_WIN)
  125.         J    #Çì          
  126.     }
  127.     J    #Çâ 
  128.  
  129.     // REACTOR ACCESS ID CHECKING................
  130.  
  131.     :ACCESS_INIT
  132.     ^ç╛                    = 1
  133.     ^ç╝              = 0
  134.     ^ç▓         = -1
  135.     ^ç│         = -1
  136.     ^ç┤         = -1
  137.     ^ç╡         = -1
  138.     ^ç╢         = -1
  139.     J    #Çâ  //?
  140.     // FINISH ACCESS_INIT
  141.  
  142.     :SCLB_BUTTON
  143.     @Çå   (`ü»        )
  144.     J    #Çà        
  145.  
  146.     :CD1B_BUTTON
  147.         @Çå   (`ü░        )
  148.         c          ~ÇÇ        1
  149.         J    #Çî              
  150.  
  151.     :CD2B_BUTTON
  152.         @Çå   (`ü░        )
  153.         c          ~ÇÇ        2
  154.         J    #Çî              
  155.  
  156.     :CD3B_BUTTON
  157.         @Çå   (`ü░        )
  158.         c          ~ÇÇ        3
  159.         J    #Çî              
  160.  
  161.     :CD4B_BUTTON
  162.         @Çå   (`ü░        )
  163.         c          ~ÇÇ        4
  164.         J    #Çî              
  165.  
  166.     :CD5B_BUTTON
  167.         @Çå   (`ü░        )
  168.         c          ~ÇÇ        5
  169.         J    #Çî              
  170.  
  171.     // REACTOR ACCESS ALLOWED?
  172.     :CHECK_ACCESS_CODE
  173.     // AGAINST RANDOM NUMBERS FOR EACH DIGIT FOUND IN DANE'S LOG
  174.     I  (~ÇÇ        == ^ïî                 ) THEN
  175.         // VALID ID ENTERED
  176.         ^ïÄ             = 1
  177.     E   
  178.         // INVALID ID ENTERED
  179.         ^ïÄ             = 0
  180.  
  181.     J    #Çé     
  182.     // FINISH REACTOR ACCESS ID CHECKING................
  183.  
  184.  
  185.     :ESCAPE_BUTTON
  186.     @Çå   (`ü▓        )
  187.     I  ^ç«         != 0 THEN
  188.                    ^ç«        
  189.     ^ç«         = 0
  190.     ^çÑ             = 0
  191.            
  192. }
  193.  
  194. { REACTORDETONATIONTIMER
  195.     ^ç½                = @Çì      RDTDIGIT1N2
  196.     ^ç¼              = @Çì      RDTDIGIT3
  197.     ^ç¡              = @Çì      RDTDIGIT4
  198.     B         `âå                     `âç                    
  199.     B         `âê                    `âë                    
  200.     B         `âè                    `âï                      
  201.     B         `âî                    `âì                       
  202.     B         `âÄ                    `âÅ                      
  203.     B         `âÉ                      
  204. :LOOP
  205.     // OK TO TRY & SET FRAME WHETHER MONITOR RUNNING OR NOT. -JAR
  206.                 "1psa" ^窠      
  207.                 "2psa" ^纠      
  208.                 "3psa" ^ç¿       
  209.                 "4psa" ^ç⌐       
  210.     â      
  211.     I  ( ^çá               = 3) THEN
  212.     {
  213.         // KILL THE DIGIT UPDATE PROPCESSES
  214.                    ^ç½               
  215.                    ^ç¼             
  216.                    ^ç¡             
  217.  
  218.         I  ^ç«         != 0 THEN
  219.                        ^ç«        
  220.  
  221.                
  222.         ^çÑ             = 0
  223.  
  224.         C      RTR6
  225.         â      
  226.  
  227.                     @Çì     (SHUT_DOWN_LOSE)
  228.         é     
  229.     }
  230.     J    #ÇÅ 
  231. }
  232.  
  233. // REACTOR DETONATION TIMER (DIGIT #1 & #2) 10X & 1X SEC
  234. [ RDTDIGIT1N2
  235.     P        ~ÇÇ    
  236.  
  237.     ^窠       = 10  // LEAVE THIS AT 10! - LRG
  238.     :LOOP
  239.     00:00   ^纠       = 10
  240.             // CHECK FOR 1S WARNING FOR LAST 10 SECS
  241.             I  (^窠       == 1) AND @Çó            (~ÇÇ    ) = $Ç╗    THEN
  242.                 {
  243.                 @Ç║      (`âê                    "/!9")
  244.                 00:05   @Çå   (`âê                   , 100)
  245.                 }
  246.  
  247.     01:00   ^纠       = 9
  248.             I  (^窠       == 1) AND @Çó            (~ÇÇ    ) = $Ç╗    THEN
  249.                 {
  250.                 @Ç║       `âë                    "/!8"
  251.                 01:05   @Çå   (`âë                   , 100)
  252.                 }
  253.  
  254.     02:00   ^纠       = 8
  255.             I  (^窠       == 1) AND @Çó            (~ÇÇ    ) = $Ç╗    THEN
  256.                 {
  257.                 @Ç║       `âè                    "/!7"
  258.                 02:05   @Çå   (`âè                   , 100)
  259.                 }
  260.  
  261.     03:00   ^纠       = 7
  262.             I  (^窠       == 1) AND @Çó            (~ÇÇ    ) = $Ç╗    THEN
  263.                 {
  264.                 @Ç║       `âï                    "/!6"
  265.                 03:05   @Çå   (`âï                   , 100)
  266.                 }
  267.  
  268.     04:00   ^纠       = 6
  269.             I  (^窠       == 1) AND @Çó            (~ÇÇ    ) = $Ç╗    THEN
  270.                 {
  271.                 @Ç║       `âî                    "/!5"
  272.                 04:05   @Çå   (`âî                   , 100)
  273.                 }
  274.  
  275.     05:00   ^纠       = 5
  276.                  I  (^窠       == 1) AND @Çó            (~ÇÇ    ) = $Ç╗    THEN
  277.                 {
  278.                 @Ç║       `âì                    "/!4"
  279.                 05:05   @Çå   (`âì                   , 100)
  280.                 }
  281.             I  (^窠       == 2) THEN
  282.                 {
  283.                 //@@@TRANSLATE
  284.                 ~ÇÇ     = @Ç║      (`âç                     "Warning: Reactor will achieve critical state in ~10 seconds!")
  285.                 04:15   @Çå   (`âç                    , 100)
  286.                 }
  287.  
  288.     06:00   ^纠       = 4
  289.               I  (^窠       == 1) AND @Çó            (~ÇÇ    ) = $Ç╗    THEN
  290.                 {
  291.                 @Ç║       `âÄ                    "/!3"
  292.                 06:05   @Çå   (`âÄ                   , 100)
  293.                 }
  294.                 
  295.                 
  296.     07:00   ^纠       = 3
  297.               I  (^窠       == 1) AND @Çó            (~ÇÇ    ) = $Ç╗    THEN
  298.                 {
  299.                 @Ç║       `âÅ                    "/!2"
  300.                 07:05    @Çå   (`âÅ                   , 100)
  301.                 }
  302.  
  303.     08:00   ^纠       = 2
  304.               I  (^窠       == 1) AND @Çó            (~ÇÇ    ) = $Ç╗    THEN
  305.                 {
  306.                 @Ç║       `âÉ                   "/!1"
  307.                 08:05   @Çå   (`âÉ                  , 100)
  308.                 }
  309.  
  310.     09:00   ^纠       = 1
  311.  
  312.     10:00   I  (^窠       == 1) THEN J    #ÇÆ     
  313.  
  314.             // CHECK FOR 30 SEC WARNING
  315.             // FRAME 4 IS '3'
  316.             I  (^窠       == 4) THEN
  317.                 {
  318.                 //@@@TRANSLATE
  319.                 @Ç║      (`âå                     "Warning: Reactor will achieve critical state in ~30 seconds!")
  320.                 10:05 @Çå   (`âå                    , 100)
  321.                 }
  322.  
  323.     ^窠       --
  324.  
  325.     ò            
  326.     J    #Çæ 
  327.  
  328.     :DETONATE
  329.     ^çá               = 1
  330.     é     
  331. ]
  332.  
  333. // REACTOR DETONATION TIMER (DIGIT #3) 1^-10 SEC
  334. [ RDTDIGIT3
  335.     
  336.     :LOOP
  337.     00:00 ^ç¿        = 10
  338.         @Çå   (`ü¡        , CL1)
  339.         @Çå   (`è░            , RLA)
  340.     00:03 ^ç¿        = 9
  341.     00:06 ^ç¿        = 8
  342.     00:09 ^ç¿        = 7
  343.     00:12 ^ç¿        = 6
  344.     00:15 ^ç¿        = 5
  345.     00:18 ^ç¿        = 4
  346.     00:21 ^ç¿        = 3
  347.     00:24 ^ç¿        = 2
  348.     00:27 ^ç¿        = 1
  349.     01:00 I  ^çá               = 1 THEN
  350.         ^çá               = 2
  351.           E   
  352.               {
  353.               ò            
  354.         J    #Çö 
  355.         }
  356. ]
  357.  
  358. // REACTOR DETONATION TIMER (DIGIT #4) 1^-100 SEC
  359. // UPDATE RANDOMLY AT FASTEST FRAME RATE
  360. { RDTDIGIT4
  361.     
  362.     :LOOP
  363.     I  ^çá               != 2 THEN
  364.         {
  365.          ^ç⌐        = @Çà    (1,10)
  366.           â      
  367.          J    #Çû 
  368.         }
  369.     E   
  370.         {
  371.          ^ç⌐        = 1
  372.          ^çá               = 3
  373.         }
  374. }
  375.  
  376.  
  377. { PYLON_STROBE
  378.  
  379.     P        ~ÇÇ          
  380.     P        ~Çü           
  381.  
  382.     ~ÇÇ           = 1
  383.     ~Çü            = 1
  384.  
  385.     ^çÑ             = 1
  386.  
  387.     :PYLON_TOP
  388.  
  389.     I  ^çú         = 1 THEN
  390.     {
  391.                     LPEA ~ÇÇ          
  392.                       LPEL "ENGAGED/GENGAGED/FENGAGED"  // @@@ PLEASE TRANSLATE
  393.     }
  394.  
  395.     I  ^çñ          = 1 THEN
  396.     {
  397.                     RPEA ~Çü           
  398.                       RPEL "ENGAGED/GENGAGED/FENGAGED"  // @@@ PLEASE TRANSLATE
  399.     }
  400.  
  401.     // WAIT 2
  402.     â      
  403.  
  404.     ~ÇÇ           ++
  405.     ~Çü            ++
  406.  
  407.     I  ~ÇÇ           = 5 THEN ~ÇÇ           = 1
  408.     I  ~Çü            = 5 THEN ~Çü            = 1
  409.  
  410.     J    #Çÿ      
  411.  
  412. }
  413.  
  414.  
  415. // **** REAL-TIME *****
  416.           
  417. [ SHUT_DOWN_WIN
  418.     P        ~ÇÇ        
  419.     P        ~Çü         
  420.     P        ~Çé  
  421.  
  422.     00:00 @Çè               (^烠       +1 0 30 5)
  423.           @Ç¢               PLAYER
  424.           A  OFF 
  425.     00:15  ~ÇÇ         = @Çå   (`à╡       )
  426.     01:00  ~Çü          = @Çå   (`à╡        255 -1024)
  427.     01:25          (~ÇÇ        )    
  428.     02:00          (~Çü         )      
  429.     02:10  ~Çé   = @Çå   (`ü╡     ) 
  430.            @Çï                 (~Çé   10000 60) 
  431.     04:10          (~Çé  )
  432.     05:05  C      UNLOCK
  433.            //@@@TRANSLATE 
  434.     05:15  @Ç║      (`âÆ                     "Immediate critical situation nullified.")
  435.            A  ON    
  436.     05:20  @Çå   (`âÆ                      200)
  437.     10:00  i           LEX REACTOL
  438. ]
  439.  
  440. [ SHUT_DOWN_LOSE
  441.     P        ~ÇÇ        
  442.     P        ~Çü         
  443.     
  444.     00:00 @Çè               (^烠       +1 0 20 5)
  445.           ^êä      = @Çê            ()  
  446.                   (^êä      255)
  447.           @Çï                 (^êä      10000 105)
  448.           @Ç¢               PLAYER
  449.           A  OFF    
  450.     00:15 ~ÇÇ         = @Çå   (`à╡       )
  451.     01:00 ~Çü          = @Çå   (`à╡        255 -1024)
  452.     01:25         (~ÇÇ        )    
  453.     02:00         (~Çü         )      
  454.     03:15 @Çå   (`ǽ         255 2048)
  455.           ^êä      = @Çê            ()
  456.                   (^êä     )
  457.     03:25 Ü             63 63 63 100
  458.           C      SHOW STITLE
  459.     03:26 @Çì      KILLLEX
  460. ]
  461.  
  462. //$ 26 - version number
  463.